概要



NGSblenderは、ChIP-seqやATAC-seqにより得たカバレッジデータ(.BigWig)及びピークコールデータ(.bed)を自動的に統計解析・可視化するウェブアプリです。
単一のデータセットの解析だけでなく、複数のデータセットの結果を統合解析(エピゲノムデータの統合解析)することも可能です。
ChIP-seq, ATAC-seq, Bisulfite-seqのデータベースであるChIP-atlasからダウンロードしたデータをそのまま使用することができます(事前にファイル名を変更する必要があります。詳細はInput fileの共通ルール・注意点)。 また、RNA-seqデータから得た遺伝子発現変動(DEG)解析結果を同時にアップロードすることで、トランスクリプトーム解析との統合解析も可能です。
Publication-readyな高解像度Figure(イラストレーターで編集可能なPDFファイル)をダウンロードすることができます。

EpigenomeChefは、Docker imageをインストールすることで使用可能です。
0. (Docker環境がない場合) Dockerのインストール
1. 以下のコマンドの実行(一度実行すれば以後必要ありません)

##human (hg19, hg38), mouse (mm10)対応 
docker pull kanetoh1030/shiny-NGSblender:hg19hg38mm10-v0.0.1
  1. 実行コマンドの入力
##human (hg19, hg38), mouse (mm10)対応
docker run --rm -p 3838:3838 kanetoh1030/shiny-NGSblender:hg19hg38mm10-v0.0.1

ブラウザでhttp://localhost:3838を立ち上げる.

If you need help, please create an issue on Github or .

本アプリは以下のセクションにより構成されます。

アプリはメニュー、セッティングパネル、アウトプットパネルの3種類のパネルで構成されています。
各セクションはアプリ上部のメニューボタンをクリックすることで移動できます。
解析を実行するファイルは、セッティングパネルからアップロードすることができます。
解析は、アウトプットパネルのタブパネルをクリックすることで実行されます。

panel


Input fileの共通ルール・注意点

拡張子

カバレッジデータはBigWig file (.BigWig or .bw)、またはBam file (.bam)が利用可能です。 ピークコールデータはnarrowPeak file (.narrowPeak)、またはbed file (.bed)が利用可能です。 RNA-seq DEG result fileはタブ区切りtxt file (.txt)、カンマ区切りcsv file (.csv)、エクセルファイル (.xlsx)が利用可能です。

BigWig fileの形式

NormalizeされたBigWig file (例: Reads per million (RPM))を使用してください。

BigWig fileおよびBam fileのファイル名

ファイル名はFigure中のサンプル名として使用されます。
ハイフン”-“、スラッシュ”/“、コロン”:“、スペース” “はファイル名に含めないでください。
長すぎるファイル名はFigure作成に悪影響を及ぼすため、シンプルなファイル名を推奨します。
サンプル名のn数(replicate number)は、アンダーバー「 _ 」を用いて表記してください。
アンダーバー「 _ 」は、n数の表記以外では使用できません。

Peak call fileおよびBed fileのファイル名

  • Pair-wise DAR、Clustering
    ファイル名にルールはありません。
    どんな名前でも解析に影響はありません。

  • Venn diagram、Enrichment viewer、Bedtools
    ファイル名はFigure中のサンプル名として使用されます。
    長すぎるファイル名はFigure作成に悪影響を及ぼすため、シンプルなファイル名を推奨します。

同時アップロードの注意点

異なるフォルダに含まれるファイルは同時にアップロードできません。
同時にアップロードしたいファイルは、同一のフォルダにまとめてください。


Output fileの共通ルール・注意点

データの保存

ダウンロードボタンを押すことで、テーブルデータやグラフが保存されます。
表データはタブ区切りtxt file(.txt)、グラフはイラストレーターで編集可能なPDFファイルで保存されます。
HOMER reportのみ、zip形式で複数のファイルが保存されます。

保存されるグラフのサイズ調整

Setting panelの「Output plot size setting for pdf」を調整することで保存される図のサイズを変更できます。
グラフ内で隣り合う文字が重なってしまう場合やグラフの余白が大きすぎる場合にパラメーターを調整して下さい。
パラメーターの値が0の場合、デフォルトサイズで保存されます。
デフォルトサイズは、図の種類によって異なります。詳細は、アプリ内のポップアップからご覧ください。


Pair-wise DAR

2群間の比較解析を実行します。DAR(Differential accessible region)の同定・可視化・機能解析結果を出力します。

Setting



Input format

重要な選択肢は以下の2点です。

  • input: BigWig fileまたはBam fileの選択
  • Genomic region: Genome-wideまたはPromoterの選択

Input

  • BigWig fileを選ぶ場合
    BigWig fileは必ずnormalizedされたデータを使用してください(例:RPM)。
    二群間の統計解析はNormalized count dataの解析が可能なLimmaを実行します。
  • Bam fileを選ぶ場合
    Sequence情報(single-end or paired-end)が必要となります。
    二群間の統計解析はDESeq2を実行します。
    各サンプルのリード数が揃っている場合は、BigWig fileを用いた解析より精度の高い結果が得られます。しかし、各サンプルのリード数が大きく異なる場合は、解析に大きな誤差が生じることがあります。

Genomic region

  • Genome-wideを選ぶ場合
    Peak call fileのアップロードが必要となります。
    アップロードしたBigWigファイルに対応する全てのpeak call fileをアップロードしてください。
    再現性のあるピーク領域に絞りこんで解析するために、2ファイル以上で共通してピークコールされた領域のみを参照・カウント化します。

  • Promoterを選ぶ場合
    Peak call fileのアップロードは不要となります。
    Promoter領域の範囲は自由に変更可能です(default: upstream = 500 bp, downstream = 500 bp)。
    Speciesの選択が必須となります。

なお、アップロードするファイル名はInput fileの共通ルール・注意点に記載されたルールをお守りください。


Species

適切な種(リファレンス)を選択することで以下の解析が実行されます。

  • Promoter領域の解析
  • トラックプロット、peak distribution、GREAT, HOMER, with RNAseqの実行

Cut-off conditions

Fold change, FDRの閾値が設定できます。


Output

Input Data

アップロードしたファイル名を表示します。
カウントデータ作成後、カウントデータを表示します。




Result overview

Clustering analysis, volcano plot, heatmap

Principal Component Analysis (PCA)、Multi-Dimensional Scaling (MDS), ward.D2による階層的クラスタリングの3種類のクラスタリング解析を実行します。



DAR解析の結果をvolcano plotとheatmapで表示します。
DAR resultテーブルの項目をクリックすると、volcano plotで表示される点のうち、選択した領域だけを緑色で表示します。

Trackplotパネル

DAR resultテーブルの項目をクリックすると、選択した領域及びその近傍遺伝子のトラックプロットを表示します。
トラックプロットのハイライト(赤)は、選択した領域を示しています。
トラックプロットのピークの高さは、peak rangeで変更可能です。
トラックプロットに追加のデータを表示したい場合には、select additional bigwig filesからデータをアップロードしてください。

Up_peaks及びDown_peaksパネル

表データとして、DAR (bed file)が出力されます。
ダウンロードしたbed fileはVenn diagramClusteringEnrichment viewerセクションにそのままアップロード・再解析が可能です。




Peak distribution

Up及びDownしたDARのannotation情報を円グラフとして出力します。
円グラフは次の3種類のレベルで表示されます。

  • Gene Level
    Promoter, Downstream, Gene body, Distal intergenic

  • Exon/Intron/Intergenic
    Exon, Intron, Intergenic

  • Exon Level
    5’ UTR, 3’ UTR, CDS, Other exon




Peak pattern

Peak heatmap (Peakの頂点を中心にDARを並べたheatmapで表示)とline plot (各サンプルのDARにおけるピークの平均値をline plotで表示)を出力します。
追加のデータを表示したい場合には、select additional bigwig filesからデータをアップロードしてください。




GREAT

GREAT (Genomic Regions Enrichment of Annotations Tool)をベースとしたエンリッチメント解析によりDARの機能を同定します。
解析に使用できる遺伝子セットは、以下の通りです。
MSigDB hallmark gene
KEGG
Reactome
PID (Pathway Interaction Database)
BioCarta
WikiPathways
GO (biological process, cellular component, and molecular function)
Human phenotype ontology
DoRothEA regulon (activator)
DoRothEA regulon (repressor)
Transcription factor targets
miRNA target
注) 転写因子の予測解析はDoRothEA regulonの使用を推奨します。

解析は、rGREATに依存します。




HOMER

HOMER (Hypergeometric Optimization of Motif EnRichment)をベースとしたエンリッチメント解析により、DARに含まれるDNA結合モチーフを同定します。

Type of enrichment analysis

“known motif”: known motifのみ解析します。
“known + unknown motif”: known motifに加えてunknown motifの解析も行います。

Type of the region for motif finding

“given (exact size)”: 各ピークの全領域を解析します。修飾ヒストンのようなbroadなpeakの解析に有効です。
“custom size”: ピークの中央から指定したサイズ(default: 200)に絞って解析します。ATAC-seqやDNA結合タンパク質の解析に有効です。

Background sequence

“ramdom”:ゲノム領域からランダムにbackground sequenceを抽出します。
“peak calling files”:解析対象を除いたピーク領域をbackgroundとして利用します(例:up DARを解析する際はNS regionとdown DARをbackgroundとして利用)。randomと比べてよりspecificなmotifが予測できる可能性があります。

Download homer report

HOMERの実行結果がzip形式で一括downloadできます。




with RNAseq

RNA-seqのDEG result fileをアップロードすることで、DAR(epigenome)とDEG(transcriptome)の統合解析ができます。
RNA-seqのDEG result fileのフォーマットは以下の通りです。

  • 拡張子は、タブ区切りtxt、カンマ区切りcsv、エクセルxlsxのいずれか
  • 1行目はgene symbolまたはENSEMBL ID
  • カラム名が「log2FoldChange」及び「padj」の列を含む

上記の条件を満たせば、bulk RNA-seqまたはscRNA-seqのデータが使用できます。



Regulatory Potential (RP)をベースとした解析について

Epigenome(DAR)の解析結果では以下のようなケースがあります。
1遺伝子に対して

  • 複数のDARが近傍に局在
  • upとdownの両方のDARが局在

遺伝子発現とエピゲノム情報を統合解析するためには、まずは上記のような1遺伝子対して複数存在するエピゲノム情報を統合し、一つのスコアにまとめる必要があります。
本アプリでは、エピゲノム情報を一つのスコアにまとめるためにRegulatory Potential (RP)の理論を採用しています。
RPスコアはピークの位置がTSSに近いほど高く、TSSから離れるほど低くなるように計算されます。 RPスコアに反映されるTSSからのピークの最大距離は100kb(Regulatory range (distance (kb) from TSS)より変更可能)です。 RNAseqのDEGのcutoffは、Fold change cutoff for RNA-seq data及びFDR cutoff for RNA-seq dataより設定できます(defaultはfold change = 1.5, fdr = 0.05)。

Boxplot

RPの値を指標に遺伝子を分類し、各グループのlog2FoldChangeの値をプロットします。
RPの分類はRPが1より大きい遺伝子(RP > 1)、RPが1より小さい遺伝子(RP < -1)、その他(Others)です。
統計解析はTukeyHSDを実行します。* p<0.05, ** p<0.01, *** p<0.001
着目するEpigenome変化がどの程度遺伝子発現変動に寄与するかがわかります。



Barplot

DEGのうち、RPが0以上(または0以下)の遺伝子がどの程度存在するかを積み上げ棒グラフで表示する。
また逆に、RPが0以上(または0以下)の遺伝子のうち、DEGがどの程度存在するかを表示する。

KS plot

RPスコアが高い順に遺伝子を並べて、3つのグループの(遺伝子発現が増加した遺伝子(up)、減少した遺伝子(down)、有意差が見られなかった遺伝子(NS))の分布を比較します。
例えば、RPスコアが高いほど遺伝子発現が増加する傾向にある場合、赤色で示すupの線は灰色で示すNSの線より左側で立ち上がります。
Kolmogorov-Smirnov testsにより有意差検定をします。
着目するEpigenome変化(RPスコア)と遺伝子発現変動の相関関係がわかります。



Result tableパネル

TranscriptomeとEpigenomeの情報をリンクさせた分類結果を出力します。 例えば、「RNA及びEpigenomeが共にupした遺伝子」や「RNA及びEpigenomeが共にdownした遺伝子」など(Group(RNA-Epigenome)より選択可能)の情報をテーブルデータとして出力します。
各グループに対応するDARは、bed形式でダウンロードすることも可能です。
ダウンロードしたbed fileはVenn diagramClusteringEnrichment viewerセクションにそのままアップロード・再解析が可能です。
興味ある項目をクリックすると、Trackplotパネルに選択したDAR及び近傍遺伝子のトラックプロットが出力されます。



Functional enrichment analysisパネル

興味あるグループを選択すると、エンリッチメント解析を実行します。
このエンリッチメント解析は、RNA-seq解析におけるエンリッチメント解析方法を使用します(GREATをベースとしたエンリッチメント解析とは異なります)。 解析は、ClusterProfilerに依存します。




Venn diagram

Venn diagramにより共通・非共通のゲノム領域を同定します。ベン図の各領域のアノテーション・可視化・機能解析結果を出力します。

Setting

venn diagram set


Input format

Input

  • Bed files
    Venn diagram解析において必ず必要となるファイルです。
    ファイル名はFigure中のサンプル名として使用されます。
    長すぎるファイル名はFigure作成に悪影響を及ぼすため、シンプルなファイル名を推奨します。
    最大アップロード数は4ファイルです。
  • BigWig files
    Trackplotやpeak pattern (peak heatmapやline plot)を出力する場合は必要となります。
    その他の機能においてはアップロードは不要です。

Species

適切な種(リファレンス)を選択することで以下の解析が実行されます。

  • トラックプロット、peak distribution、GREAT, HOMER, with RNAseqの実行

Output

Venn diagram

アップロードしたbed fileのoverlap領域を同定します。
結果として、Venn diagramを出力します。

venn input


Peak pattern

Select intersectから選択したvenn図の領域に関してPeak patternを分析します。
intersectのハイフン”-“はoverlapを意味します。。
例:A.bedとB.bedの解析の場合。
A: Bと重複しないAの領域
B: Aと重複しないBの領域
A-B: AとBのoverlap領域

Peak heatmapとline plot

BigWig fileをアップロードした場合、表示されます。
選択した領域に関して中央から前後2000kbの領域をheatmap及びline plotとして出力します。
さらに追加のデータを表示したい場合には、select additional bigwig filesからデータをアップロードしてください。

Peak distribution

Speciesを選択した場合、表示されます。
選択した領域のannotation情報を円グラフとして出力します。
円グラフは次の3種類のレベルで表示されます。

  • Gene Level
    Promoter, Downstream, Gene body, Distal intergenic

  • Exon/Intron/Intergenic
    Exon, Intron, Intergenic

  • Exon Level
    5’ UTR, 3’ UTR, CDS, Other exon

    venn input

Trackplotパネル

selected intersect dataパネルの項目をクリックすると、選択した項目のトラックプロットを表示します。
トラックプロットのハイライト(赤)は、選択した領域を示しています。
トラックプロットのピークの高さは、peak rangeで変更可能です。
トラックプロットに追加のデータを表示したい場合には、select additional bigwig filesからデータをアップロードしてください。

venn input

selected intersect dataパネル

選択した領域の情報が表データとして出力されます。
近傍の遺伝子やannotation情報をtxt fileとしてダウンロード可能です。
また、bed形式としてもダウンロード可能です。ダンロードしたbedファイルはClusteringEnrichment viewerセクションのインプットとしてアップロード・再解析が可能です。


GREAT

GREAT (Genomic Regions Enrichment of Annotations Tool)をベースとしたエンリッチメント解析により、Select intersectから選択したvenn図の領域の機能を同定します。
解析に使用できる遺伝子セットは、以下の通りです。
MSigDB hallmark gene
KEGG
Reactome
PID (Pathway Interaction Database)
BioCarta
WikiPathways
GO (biological process, cellular component, and molecular function)
Human phenotype ontology
DoRothEA regulon (activator)
DoRothEA regulon (repressor)
Transcription factor targets
miRNA target
注) 転写因子の予測解析はDoRothEA regulonの使用を推奨します。

解析は、rGREATに依存します。

venn input


HOMER

HOMER (Hypergeometric Optimization of Motif EnRichment)をベースとしたエンリッチメント解析により、Select intersectから選択したvenn図の領域に含まれるDNA結合モチーフを同定します。

Type of enrichment analysis

“known motif”: known motifのみ解析します。
“known + unknown motif”: known motifに加えてunknown motifの解析も行います。

Type of the region for motif finding

“given (exact size)”: 各ピークの全領域を解析します。修飾ヒストンのようなbroadなpeakの解析に有効です。
“custom size”: ピークの中央から指定したサイズ(default: 200)に絞って解析します。ATAC-seqやDNA結合タンパク質の解析に有効です。

Background sequence

“ramdom”:ゲノム領域からランダムにbackground sequenceを抽出します。
“bed files”: Background file(bed形式)をアップロードするためのウィンドウが出現します。 複数のbed filesをアップロードした場合は、mergeしたファイルをbackground fileとして利用します。 backgroundファイルのうち、解析対象を除いた領域をbackgroundとして利用します。
randomと比べてよりspecificなmotifが予測できる可能性があります。

Download homer report

HOMERの実行結果がzip形式で一括downloadできます。

venn input


with RNAseq

RNA-seqのDEG(発現変動遺伝子) result fileをアップロードすることで、Select intersectから選択したvenn図の領域(epigenome)とDEG(transcriptome)の統合解析ができます。
RNA-seqのDEG result fileのフォーマットは以下の通りです。

  • 拡張子は、タブ区切りtxt、カンマ区切りcsv、エクセルxlsxのいずれか
  • 1行目はgene symbolまたはENSEMBL ID
  • カラム名が「log2FoldChange」及び「padj」の列を含む

上記の条件を満たせば、bulk RNA-seqまたはscRNA-seqのデータが使用できます。



Regulatory Potential (RP)をベースとした解析について

Epigenomeの解析結果では、一つの遺伝子に対して複数のピークがassociateするケースがあります。
遺伝子発現とエピゲノム情報を統合解析するためには、まずは上記のような1遺伝子対して複数存在するエピゲノム情報を統合し、一つのスコアにまとめる必要があります。
本アプリでは、エピゲノム情報を一つのスコアにまとめるためにRegulatory Potential (RP)の理論を採用しています。
RPスコアはピークの位置がTSSに近いほど高く、TSSから離れるほど低くなるように計算されます。 RPスコアに反映されるTSSからのピークの最大距離は100kb(Regulatory range (distance (kb) from TSS)より変更可能)です。 RNAseqのDEGのcutoffは、Fold change cutoff for RNA-seq data及びFDR cutoff for RNA-seq dataより設定できます(defaultはfold change = 1.5, fdr = 0.05)。

Boxplot

RPの値を指標に遺伝子を分類し、各グループのlog2FoldChangeの値をプロットします。
RPの分類はRPが1より大きい遺伝子(RP > 1)、その他(Others)です。
統計解析はWelch’s t-testを実行します。* p<0.05, ** p<0.01, *** p<0.001
着目するゲノム領域がどの程度遺伝子発現変動に寄与するかがわかります。



Barplot

DEGのうち、RPが0以上の遺伝子がどの程度存在するかを積み上げ棒グラフで表示する。
また逆に、RPが0以上の遺伝子のうち、DEGがどの程度存在するかを表示する。

KS plot

RPスコアが高い順に遺伝子を並べて、2つのグループの(遺伝子発現が増加した遺伝子(up)、有意差が見られなかった遺伝子(NS))の分布を比較します。
例えば、RPスコアが高いほど遺伝子発現が増加する傾向にある場合、赤色で示すupの線は灰色で示すNSの線より左側で立ち上がります。
Kolmogorov-Smirnov testsにより有意差検定をします。
着目するゲノム領域(RPスコア)と遺伝子発現変動の相関関係がわかります。



Result tableパネル

TranscriptomeとEpigenomeの情報をリンクさせた分類結果を出力します。 例えば、「RNA及びEpigenomeが共にupした遺伝子」や「RNA及びEpigenomeが共にdownした遺伝子」など(Group(RNA-Epigenome)より選択可能)の情報をテーブルデータとして出力します。
venn diagramやmotif解析用にbed形式でダウンロードすることも可能です。
興味ある項目をクリックすると、Trackplotパネルに選択した領域及び近傍遺伝子のトラックプロットが出力されます。



Functional enrichment analysisパネル

興味あるグループを選択すると、エンリッチメント解析を実行します。
このエンリッチメント解析は、RNA-seq解析におけるエンリッチメント解析方法を使用します(GREATをベースとしたエンリッチメント解析とは異なります)。 解析は、ClusterProfilerに依存します。




Clustering

BigWig fileのクラスタリング解析を実行します。 本セクションの用途は大きく分けて二つあります。 1つ目は、PCAやMDS、dendrogram、correlation plotによるデータの俯瞰です。アップロードしたデータの大まかな類似性を可視化します。 2つ目は、k-means clusteringを用いた詳細なゲノム領域の分析です。Pair-wise DARやVenn diagramで同定した領域をk-means clusteringを用いて細分化・機能評価を行います。

Setting



Input format

重要な選択肢は以下の1点です。

  • Genomic region: Genome-wideまたはPromoterの選択

Genomic region

  • Genome-wideを選ぶ場合
    Bed fileのアップロードが必要となります。
    目的がデータの俯瞰の場合は、アップロードしたBigWigファイルに対応する全てのpeak call fileをアップロードしてください。(Pair-wise DARのようなFilter機能はありません。アップロードしたbed fileに含まれる全てのゲノム領域をカウント化します。)
    目的がk-means clusteringを用いた詳細なゲノム領域の分析の場合は、Pair-wise DARやVenn diagramなどにより得たbed fileをアップロードしてください。 bedファイルに含まれるゲノム領域のみをカウント化します。 (k-means clusteringを実行できるゲノム領域の数は最大10,000までのため、解析対象となるゲノム領域をある程度絞り込んだbed fileが必要となります。)

  • Promoterを選ぶ場合
    bed fileのアップロードは不要となります。
    Promoter領域の範囲は自由に変更可能です(default: upstream = 500 bp, downstream = 500 bp)。
    Speciesの選択が必須となります。

なお、アップロードするファイル名はInput fileの共通ルール・注意点に記載されたルールをお守りください。


Species

適切な種(リファレンス)を選択することで以下の解析が実行されます。

  • Promoter領域の解析
  • トラックプロット、peak distribution、GREAT, HOMER, with RNAseqの実行

Cut-off conditions

Fold change, FDRの閾値が設定できます。


Output

Input Data

アップロードしたファイル名を表示します。
カウントデータ作成後、カウントデータを表示します。




Result overview

Principal Component Analysis (PCA)、Multi-Dimensional Scaling (MDS), ward.D2による階層的クラスタリングの3種類のクラスタリング解析を実行します。
また、pearson’s correlationを計算し、correlation plotを出力します。




k-means clustering

k-means clusteringを実行します。 解析対象となるゲノム領域の数は、memoryの都合上、最大10,000領域(defaultは2000 loci。Most variable lociで変更可能)までです。
bed fileに含まれるゲノム領域の数がMost variable lociで指定した数値を上回る場合、中央絶対偏差(MAD)が大きい領域領域を抽出して解析します。
clusterの数は、k-means numberから設定できます。



cluster_listから興味あるClusterを選択することで、さらに詳細な解析ができます。
なお、cluster_listで複数のClusterを選択した場合は、選択した全てのClusterを同一のClusterとみなして解析します(それぞれのクラスターを個別に解析するわけではありません)。

Peak pattern

選択したClusterのPeak heatmapとline plotを出力します。
追加のデータを表示したい場合には、select additional bigwig filesからデータをアップロードしてください。



Trackplotパネル

selected cluster dataパネルの項目をクリックすると、選択した項目のトラックプロットを表示します。
トラックプロットのハイライト(赤)は、選択した領域を示しています。
トラックプロットのピークの高さは、peak rangeで変更可能です。
トラックプロットに追加のデータを表示したい場合には、select additional bigwig filesからデータをアップロードしてください。

venn input


with RNAseq

RNA-seqのDEG(発現変動遺伝子) result fileをアップロードすることで、k-means cluster listから選択したClusterの領域(epigenome)とDEG(transcriptome)の統合解析ができます。
RNA-seqのDEG result fileのフォーマットは以下の通りです。

  • 拡張子は、タブ区切りtxt、カンマ区切りcsv、エクセルxlsxのいずれか
  • 1行目はgene symbolまたはENSEMBL ID
  • カラム名が「log2FoldChange」及び「padj」の列を含む

上記の条件を満たせば、bulk RNA-seqまたはscRNA-seqのデータが使用できます。



Regulatory Potential (RP)をベースとした解析について

Epigenomeの解析結果では、一つの遺伝子に対して複数のピークがassociateするケースがあります。
遺伝子発現とエピゲノム情報を統合解析するためには、まずは上記のような1遺伝子対して複数存在するエピゲノム情報を統合し、一つのスコアにまとめる必要があります。
本アプリでは、エピゲノム情報を一つのスコアにまとめるためにRegulatory Potential (RP)の理論を採用しています。
RPスコアはピークの位置がTSSに近いほど高く、TSSから離れるほど低くなるように計算されます。 RPスコアに反映されるTSSからのピークの最大距離は100kb(Regulatory range (distance (kb) from TSS)より変更可能)です。 RNAseqのDEGのcutoffは、Fold change cutoff for RNA-seq data及びFDR cutoff for RNA-seq dataより設定できます(defaultはfold change = 1.5, fdr = 0.05)。

Boxplot

RPの値を指標に遺伝子を分類し、各グループのlog2FoldChangeの値をプロットします。
RPの分類はRPが1より大きい遺伝子(RP > 1)、その他(Others)です。
統計解析はWelch’s t-testを実行します。* p<0.05, ** p<0.01, *** p<0.001
着目するゲノム領域がどの程度遺伝子発現変動に寄与するかがわかります。



Barplot

DEGのうち、RPが0以上の遺伝子がどの程度存在するかを積み上げ棒グラフで表示する。
また逆に、RPが0以上の遺伝子のうち、DEGがどの程度存在するかを表示する。

KS plot

RPスコアが高い順に遺伝子を並べて、2つのグループの(遺伝子発現が増加した遺伝子(up)、有意差が見られなかった遺伝子(NS))の分布を比較します。
例えば、RPスコアが高いほど遺伝子発現が増加する傾向にある場合、赤色で示すupの線は灰色で示すNSの線より左側で立ち上がります。
Kolmogorov-Smirnov testsにより有意差検定をします。
着目するゲノム領域(RPスコア)と遺伝子発現変動の相関関係がわかります。



Result tableパネル

TranscriptomeとEpigenomeの情報をリンクさせた分類結果を出力します。 例えば、「RNA及びEpigenomeが共にupした遺伝子」や「RNA及びEpigenomeが共にdownした遺伝子」など(Group(RNA-Epigenome)より選択可能)の情報をテーブルデータとして出力します。
venn diagramやmotif解析用にbed形式でダウンロードすることも可能です。
興味ある項目をクリックすると、Trackplotパネルに選択した領域及び近傍遺伝子のトラックプロットが出力されます。



Functional enrichment analysisパネル

興味あるグループを選択すると、エンリッチメント解析を実行します。
このエンリッチメント解析は、RNA-seq解析におけるエンリッチメント解析方法を使用します(GREATをベースとしたエンリッチメント解析とは異なります)。 解析は、ClusterProfilerに依存します。




Enrichment viewer

bed fileに含まれるゲノム領域に対してエンリッチメント解析を実行します。
Venn diagramやk-means clusteringの結果を用いることで、同定したグループ・クラスターの機能やモチーフを比較・可視化します。

Setting

venn diagram set


Input format

Input

  • Bed files
    Enrichment viewerにおいて必ず必要となるファイルです。
    ファイル名はFigure中のサンプル名として使用されます。
    長すぎるファイル名はFigure作成に悪影響を及ぼすため、シンプルなファイル名を推奨します。
    最大アップロード数は4ファイルです。

Species

適切な種(リファレンス)の選択が必須です。


Output

Input list

アップロードしたファイル名を表示します。




GREAT

GREAT (Genomic Regions Enrichment of Annotations Tool)をベースとしたエンリッチメント解析により、アップロードしたbed fileに含まれるゲノム領域の機能をそれぞれ同定・可視化します。
解析に使用できる遺伝子セットは、以下の通りです。
MSigDB hallmark gene
KEGG
Reactome
PID (Pathway Interaction Database)
BioCarta
WikiPathways
GO (biological process, cellular component, and molecular function)
Human phenotype ontology
DoRothEA regulon (activator)
DoRothEA regulon (repressor)
Transcription factor targets
miRNA target
注) 転写因子の予測解析はDoRothEA regulonの使用を推奨します。

解析は、rGREATに依存します。

venn input


HOMER

HOMER (Hypergeometric Optimization of Motif EnRichment)をベースとしたエンリッチメント解析により、アップロードしたbed fileに含まれるゲノム領域に含まれるDNA結合モチーフをそれぞれ同定します。

Type of enrichment analysis

“known motif”: known motifのみ解析します。
“known + unknown motif”: known motifに加えてunknown motifの解析も行います。

Type of the region for motif finding

“given (exact size)”: 各ピークの全領域を解析します。修飾ヒストンのようなbroadなpeakの解析に有効です。
“custom size”: ピークの中央から指定したサイズ(default: 200)に絞って解析します。ATAC-seqやDNA結合タンパク質の解析に有効です。

Background sequence

“ramdom”:ゲノム領域からランダムにbackground sequenceを抽出します。
“bed files”: Background file(bed形式)をアップロードするためのウィンドウが出現します。 複数のbed filesをアップロードした場合は、mergeしたファイルをbackground fileとして利用します。 backgroundファイルのうち、解析対象を除いた領域をbackgroundとして利用します。
randomと比べてよりspecificなmotifが予測できる可能性があります。

Download homer report

HOMERの実行結果がzip形式で一括downloadできます。

venn input


More

bedtools

ゲノムの位置情報を扱うBed fileの演算が可能です。
処理可能なファイル様式はbed形式 (.bedまたは.narrowPeak)のみです。
全機能はbedtorchに依存します。

Merge interval

隣り合う領域のサイズが指定したサイズ(Gap sizeより変更可能)以下の場合、隣り合う領域をマージしたファイルを作成します。


venn input

Subtract

AからBの領域を引いたファイルを作成します。

venn input

Subtract

AのうちBとoverlapする領域だけを抽出したファイルを作成します。
(-wa option) Bとoverlapする領域をそのまま抽出したファイルを作成します。
(-v option) Bとoverlapしない領域のみを抽出したファイルを作成します。

venn input


Tips

HOMER: Background sequenceの差

例: ATAC-seqのサンプルでpair-wise DARを実行 venn input

ChIP-atlasのデータの注意点:修飾ヒストンのChIP-seqデータの解析

venn input

venn input


Reference

Shiny framework

DESeq2 and limma (for differential accessibility region analysis)

ggdendro (for dendrograms)

ggcorrplot (for correlation plot)

rGREAT, clusterProfiler, DOSE, msigdbr, dorothea (for enrichment analysis)

AnnotationDbi, org.Hs.eg.db, org.Mm.eg.db (for genome wide annotation)

genefilter (for z-score normalization)

ComplexHeatmap (for heatmap and k-means clustering)

ggplot2 and ggpubr (for boxplot and scater plot)

venn (for venn diagram analysis)

GenomicRanges, soGGi, ChIPQC,ChIPseeker,TxDb.Mmusculus.UCSC.mm10.knownGene, TxDb.Hsapiens.UCSC.hg19.knownGene (for manupilate genomic information and annotation)

dplyr and tidyr (for data manipulation)

rtracklayer, Rsubread, Rsamtools

FindIT2 (for with RNAseq)

marge, ggseqlogo (for motif analysis)

colorspace

bedtorch (for bedtools)

Gviz (for track plot)


License

This shiny code is licensed under the GPLv3. Please see the file LICENSE.md for information.

NGSblender
Shiny App for highlighting epigenome-transcriptome interaction.
Copyright (C) 2023  Kan Etoh

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

You may contact the author of this code, Kan Etoh, at <kaneto@kumamoto-u.ac.jp>

Session info

 sessionInfo()
## R version 4.2.1 (2022-06-23)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Big Sur ... 10.16
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## attached base packages:
##  [1] grid      tools     stats4    stats     graphics  grDevices utils    
##  [8] datasets  methods   base     
## 
## other attached packages:
##  [1] Gviz_1.40.1                              
##  [2] bedtorch_0.1.12.12                       
##  [3] RColorBrewer_1.1-3                       
##  [4] ggcorrplot_0.1.4                         
##  [5] colorspace_2.0-3                         
##  [6] plotmics_7.0.0                           
##  [7] marge_0.0.4.9999                         
##  [8] ggseqlogo_0.1                            
##  [9] limma_3.52.4                             
## [10] FindIT2_1.2.3                            
## [11] rGREAT_2.1.1                             
## [12] ChIPpeakAnno_3.30.1                      
## [13] ChIPseeker_1.32.1                        
## [14] soGGi_1.10.4                             
## [15] dorothea_1.8.0                           
## [16] clusterProfiler.dplyr_0.0.2              
## [17] BiocManager_1.30.19                      
## [18] shinyjs_2.1.0                            
## [19] plotly_4.10.1                            
## [20] shinyBS_0.61.1                           
## [21] ComplexHeatmap_2.12.1                    
## [22] genefilter_1.78.0                        
## [23] msigdbr_7.5.1                            
## [24] DOSE_3.22.1                              
## [25] enrichplot_1.16.2                        
## [26] clusterProfiler_4.4.4                    
## [27] ggnewscale_0.4.8                         
## [28] DESeq2_1.36.0                            
## [29] SummarizedExperiment_1.26.1              
## [30] MatrixGenerics_1.8.1                     
## [31] matrixStats_0.62.0                       
## [32] cowplot_1.1.1                            
## [33] gridExtra_2.3                            
## [34] ggplotify_0.1.0                          
## [35] ggdendro_0.1.23                          
## [36] ggrepel_0.9.2                            
## [37] ggpubr_0.4.0                             
## [38] forcats_0.5.2                            
## [39] stringr_1.4.1                            
## [40] dplyr_1.0.10                             
## [41] purrr_0.3.5                              
## [42] readr_2.1.3                              
## [43] tidyr_1.2.1                              
## [44] tibble_3.1.8                             
## [45] ggplot2_3.4.0                            
## [46] tidyverse_1.3.2                          
## [47] multcomp_1.4-20                          
## [48] TH.data_1.1-1                            
## [49] MASS_7.3-58.1                            
## [50] survival_3.4-0                           
## [51] mvtnorm_1.1-3                            
## [52] rstatix_0.7.1                            
## [53] gdata_2.18.0.1                           
## [54] DT_0.26                                  
## [55] shiny_1.7.3                              
## [56] org.Mm.eg.db_3.15.0                      
## [57] org.Hs.eg.db_3.15.0                      
## [58] TxDb.Mmusculus.UCSC.mm10.knownGene_3.10.0
## [59] TxDb.Hsapiens.UCSC.hg38.knownGene_3.15.0 
## [60] TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2  
## [61] GenomicFeatures_1.48.4                   
## [62] AnnotationDbi_1.58.0                     
## [63] Biobase_2.56.0                           
## [64] Rsamtools_2.12.0                         
## [65] Biostrings_2.64.1                        
## [66] XVector_0.36.0                           
## [67] Rsubread_2.10.5                          
## [68] rtracklayer_1.56.1                       
## [69] GenomicRanges_1.48.0                     
## [70] GenomeInfoDb_1.32.4                      
## [71] IRanges_2.30.1                           
## [72] S4Vectors_0.34.0                         
## [73] BiocGenerics_0.42.0                      
## 
## loaded via a namespace (and not attached):
##   [1] Hmisc_4.7-1              foreach_1.5.2            glmnet_4.1-4            
##   [4] crayon_1.5.2             nlme_3.1-160             backports_1.4.1         
##   [7] reprex_2.0.2             GOSemSim_2.22.0          rlang_1.0.6             
##  [10] readxl_1.4.1             filelock_1.0.2           BiocParallel_1.30.4     
##  [13] rjson_0.2.21             chipseq_1.46.0           bcellViper_1.32.0       
##  [16] bit64_4.0.5              glue_1.6.2               parallel_4.2.1          
##  [19] regioneR_1.28.0          haven_2.5.1              tidyselect_1.2.0        
##  [22] XML_3.99-0.12            zoo_1.8-11               GenomicAlignments_1.32.1
##  [25] xtable_1.8-4             magrittr_2.0.3           evaluate_0.18           
##  [28] cli_3.4.1                zlibbioc_1.42.0          RVenn_1.1.0             
##  [31] hwriter_1.3.2.1          rstudioapi_0.14          rpart_4.1.19            
##  [34] bslib_0.4.1              fastmatch_1.1-3          ensembldb_2.20.2        
##  [37] lambda.r_1.2.4           treeio_1.20.2            xfun_0.34               
##  [40] clue_0.3-62              multtest_2.52.0          cluster_2.1.4           
##  [43] caTools_1.18.2           tidygraph_1.2.2          KEGGREST_1.36.3         
##  [46] biovizBase_1.44.0        ape_5.6-2                png_0.1-7               
##  [49] withr_2.5.0              bitops_1.0-7             ggforce_0.4.1           
##  [52] RBGL_1.72.0              plyr_1.8.7               cellranger_1.1.0        
##  [55] AnnotationFilter_1.20.0  pillar_1.8.1             gplots_3.1.3            
##  [58] GlobalOptions_0.1.2      cachem_1.0.6             fs_1.5.2                
##  [61] GetoptLong_1.0.5         vctrs_0.5.0              ellipsis_0.3.2          
##  [64] generics_0.1.3           foreign_0.8-83           munsell_0.5.0           
##  [67] tweenr_2.0.2             fgsea_1.22.0             DelayedArray_0.22.0     
##  [70] fastmap_1.1.0            compiler_4.2.1           abind_1.4-5             
##  [73] httpuv_1.6.6             GenomeInfoDbData_1.2.8   InteractionSet_1.24.0   
##  [76] lattice_0.20-45          deldir_1.0-6             utf8_1.2.2              
##  [79] later_1.3.0              BiocFileCache_2.4.0      jsonlite_1.8.3          
##  [82] scales_1.2.1             graph_1.74.0             tidytree_0.4.1          
##  [85] carData_3.0-5            lazyeval_0.2.2           promises_1.2.0.1        
##  [88] car_3.1-1                doParallel_1.0.17        latticeExtra_0.6-30     
##  [91] checkmate_2.1.0          rmarkdown_2.19           sandwich_3.0-2          
##  [94] ggVennDiagram_1.2.2      dichromat_2.0-0.1        downloader_0.4          
##  [97] BSgenome_1.64.0          igraph_1.3.5             yaml_2.3.6              
## [100] plotrix_3.8-2            htmltools_0.5.3          memoise_2.0.1           
## [103] VariantAnnotation_1.42.1 BiocIO_1.6.0             locfit_1.5-9.6          
## [106] graphlayouts_0.8.3       viridisLite_0.4.1        digest_0.6.30           
## [109] assertthat_0.2.1         mime_0.12                rappdirs_0.3.3          
## [112] futile.options_1.0.1     RSQLite_2.2.18           yulab.utils_0.0.5       
## [115] VennDiagram_1.7.3        data.table_1.14.4        blob_1.2.3              
## [118] futile.logger_1.4.3      preprocessCore_1.58.0    Formula_1.2-4           
## [121] splines_4.2.1            googledrive_2.0.0        ProtGenerics_1.28.0     
## [124] RCurl_1.98-1.9           broom_1.0.1              hms_1.1.2               
## [127] modelr_0.1.10            base64enc_0.1-3          shape_1.4.6             
## [130] aplot_0.1.8              nnet_7.3-18              sass_0.4.2              
## [133] Rcpp_1.0.9               circlize_0.4.15          fansi_1.0.3             
## [136] tzdb_0.3.0               R6_2.5.1                 lifecycle_1.0.3         
## [139] formatR_1.12             ShortRead_1.54.0         curl_4.3.3              
## [142] ggsignif_0.6.4           googlesheets4_1.0.1      jquerylib_0.1.4         
## [145] DO.db_2.9                Matrix_1.5-1             qvalue_2.28.0           
## [148] iterators_1.0.14         htmlwidgets_1.5.4        polyclip_1.10-4         
## [151] biomaRt_2.52.0           shadowtext_0.1.2         timechange_0.1.1        
## [154] gridGraphics_0.5-1       rvest_1.0.3              htmlTable_2.4.1         
## [157] patchwork_1.1.2          codetools_0.2-18         lubridate_1.9.0         
## [160] GO.db_3.15.0             gtools_3.9.3             prettyunits_1.1.1       
## [163] dbplyr_2.2.1             gtable_0.3.1             DBI_1.1.3               
## [166] ggfun_0.0.8              httr_1.4.4               KernSmooth_2.23-20      
## [169] stringi_1.7.8            progress_1.2.2           reshape2_1.4.4          
## [172] farver_2.1.1             annotate_1.74.0          viridis_0.6.2           
## [175] ggtree_3.4.4             xml2_1.3.3               boot_1.3-28             
## [178] restfulr_0.0.15          interp_1.1-3             geneplotter_1.74.0      
## [181] bit_4.0.4                scatterpie_0.1.8         jpeg_0.1-9              
## [184] ggraph_2.1.0             pkgconfig_2.0.3          babelgene_22.9          
## [187] gargle_1.2.1             knitr_1.41